import java.io.Serializable;

public class Contato  implements Serializable {
	
	public String nome;
	public String endereco;
	public String dataAniversario;
	public String formaDeContato;
	
	
	public Contato(String nome, String endereco, String dataAniversario, String formaDeContato) throws Exception{
		if(nome == null){
			throw new Exception("Nome nao pode ser vazio ou nulo.");
		}
		if(endereco == null){
			throw new Exception("Endereco nao pode ser vazio ou nulo.");
		}
		if(dataAniversario == null){
			throw new Exception("Data de aniversario nao pode ser vazia ou nula.");
		}
		if(formaDeContato == null){
			throw new Exception("Forma de contato nao pode ser vazia ou nula.");
		}
		
		this.nome = nome;
		this.endereco = endereco;
		this.dataAniversario = dataAniversario;
		this.formaDeContato = formaDeContato;
	}

	public String getFormaDeContato() {
		return formaDeContato;
	}

	public void setFormaDeContato(String formaDeContato) {
		this.formaDeContato = formaDeContato;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getEndereco() {
		return endereco;
	}

	public void setEndereco(String endereco) {
		this.endereco = endereco;
	}

	public String getDataAniversario() {
		return dataAniversario;
	}

	public void setDataAniversario(String dataAniversario) {
		this.dataAniversario = dataAniversario;
	}
	public String toString(){
		return "Nome: "+getNome()+", Endereco: "+getEndereco()+", Data de aniversario: "+getDataAniversario()+", Forma de contato: "+getFormaDeContato();
	}
	
	public boolean equals(Object objeto){
		if(!(objeto instanceof Contato)){
			return false;
		}
		Contato c = (Contato) objeto;
		return getFormaDeContato() == c.getFormaDeContato();
	}
	
	public void salvaContatos(AgendaMultitudo e){
		Arquivo.salvarContatos(e);
	}
	
}
